Present day communications occur more often over the Internet or other types of data networks, and less and less often on “landlines.” Many users have migrated and embraced Internet enabled technologies where devices can establish session or a connection with each other to stream media content. These types of communication applications provide a myriad of opportunities for users to engage and interact with each other and promote collaboration among users located remotely from each other. Exemplary technologies include WebRTC (stands for Web Real-Time Communication), WebEx, Jabber, and so forth. These technologies have been developed to facilitate endpoints (e.g., user devices such as computers, mobile devices, etc.) to establish a session or a connection with each other through signaling and subsequent transmission of media streams and data streams having different types of media content in a peer-to-peer session, or in a conference with multiple (or more than two) parties.
In the example of WebRTC, Real-time Transport Protocol (RTP) is leveraged to allow audio, video, and any other data for real-time media/communication applications to be transported reliably from one endpoint to another. WebRTC provides building blocks to support direct, interactive, real-time communication using audio, video, collaboration, games, data files sharing and transfer, etc., between two peers' web-browsers. As more users utilize the network to stream media content between each other, the need to find better ways to manage these media streams and data streams within these sessions also grows.